#ifndef TYPES_H
#define TYPES_H

typedef int			   BOOL_T;

typedef unsigned char  UBYTE_T;
typedef char    	   BYTE_T;
typedef volatile char  VBYTE_T;

typedef unsigned short UINT16_T;
typedef short		   INT16_T;
typedef volatile short VINT16_T;

typedef unsigned int   UINT32_T;
typedef	int			   INT32_T;
typedef volatile int   VINT32_T;

typedef unsigned long  UINT32L_T;
typedef signed long    INT32L_T;
typedef volatile long  VINT32L_T;
typedef long long 	   INT64L_T;

typedef unsigned char* STRING_T;
typedef float 		   FLOAT32_T;
typedef double 		   DOUTBLE64_T;

typedef unsigned char bool;
typedef unsigned char u8;
typedef signed char s8;
typedef volatile char vs8;

typedef unsigned short u16;
typedef signed short s16;
typedef volatile int vs16;

typedef unsigned int u32;
typedef signed int s32;
typedef volatile int vs32;

typedef unsigned long u32L;
typedef signed long s32L;
typedef volatile long vs32L;
typedef long long s64;

typedef unsigned char byte;
typedef unsigned short word;
typedef unsigned long dword;

typedef unsigned char  BOOLEAN;
typedef unsigned char  INT8U;                    /* Unsigned  8 bit quantity                           */
typedef signed   char  INT8S;                    /* Signed    8 bit quantity                           */
typedef unsigned short INT16U;                   /* Unsigned 16 bit quantity                           */
typedef signed   short INT16S;                   /* Signed   16 bit quantity                           */
typedef unsigned int   INT32U;                   /* Unsigned 32 bit quantity                           */
typedef signed   int   INT32S;                   /* Signed   32 bit quantity                           */
typedef float          FP32;                     /* Single precision floating point                    */
typedef double         FP64;                     /* Double precision floating point           */

#define DEBUG_PRINT_INFO printf
#define DEBUG_PRINT_ERROR perror

#if 0
typedef unsigned char  BYTE;
typedef unsigned char  uchar;
typedef unsigned char  UINT8;

typedef unsigned int   uint16;
typedef unsigned int   UINT16;
typedef unsigned int   word;
typedef unsigned int   WORD;

typedef unsigned long   UINT32;
typedef unsigned long   dword;
typedef unsigned long   DWORD;
#endif	


#endif
